# -*- coding: utf-8 -*-
"""
Spyder Editor

by jshu

issue：

2018年11月7日 Python 学习，主要是面向对象相关知识总结

#实现数组前后两个数不断累加的方案
class fib(object):
    def __init__(self,num):
        a,b,l=0,1,[];
        for n in range(num):
            l.append(a)
            a,b=b,a+b
        self.numbers=l
        
    def __str__(self):
        return str(self.numbers)
    
    __repr__=__str__
#作用是什么呢？字符串转义吗？
    
    def __len__(self):
        return len(self.numbers)
    
s=fib("5")
print(s)
print(len(s))

"""
#主要讲述cmp函数（比较函数），不过目前此函数不可用
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def __str__(self):
        return '(%s: %s)' % (self.name, self.score)

    __repr__ = __str__

    def __cmp__(self, s):   
        if self.score == s.score:
            return cmp(self.name, s.name)

L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 99)]

print(sorted(L))
